
//格式化 日期格式  yyyy/MM/dd HH:mm:ss
function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds();
  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
//格式化 日期格式  yyyy/MM/dd
function formatTimeSimple(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()
  return [year, month, day].map(formatNumber).join('-');
}
//日期加上天数得到新的日期  
//dateTemp 需要参加计算的日期，days要添加的天数，返回新的日期，日期格式：YYYY-MM-DD  
function getNewDay(dateTemp, days) {
  var dateTemp = dateTemp.split("-");
  var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); //转换为MM-DD-YYYY格式    
  var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000);
  var rDate = new Date(millSeconds);
  var year = rDate.getFullYear();
  var month = rDate.getMonth() + 1;
  if (month < 10) month = "0" + month;
  var date = rDate.getDate();
  if (date < 10) date = "0" + date;
  return (year + "-" + month + "-" + date);
}
/** 
 * 时间戳转化为年 月 日 时 分 秒 
 * number: 传入时间戳 
 * format：返回格式，支持自定义，但参数必须与formateArr里保持一致 
*/
function formatTimeTwo(time_num, format) {
  var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
  var returnArr = [];

  var date = new Date(time_num);
  returnArr.push(date.getFullYear());
  returnArr.push(formatNumber(date.getMonth() + 1));
  returnArr.push(formatNumber(date.getDate()));

  returnArr.push(formatNumber(date.getHours()));
  returnArr.push(formatNumber(date.getMinutes()));
  returnArr.push(formatNumber(date.getSeconds()));
  for (var i in returnArr) {
    format = format.replace(formateArr[i], returnArr[i]);
  }
  return format;
}
//格式化  数字
function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

//图片预览
function preImg(imageIndex,imgs) {
  // console.log("preSunImg", t)
  wx.previewImage({
    current: imageIndex,
    urls: imgs
  });
}
//商品详情的富文本 转换
function richText(e){
    e = 
    "<div style='padding:15px;font-size:14px;line-height:25.5px;color:#3e3e3e;width:100%;box-sizing:border-box'>"
     + e + "</div>";
     return e;
}

// 时间格式化输出，如03:25:19 86。每10ms都会调用一次
function date_format(micro_second) {
  var setTimeout = []
  // 秒数
  var second = Math.floor(micro_second / 1000);
  // 天数位
  var day = fill_zero_prefix(Math.floor((second / 3600) / 24));
  // 小时位
  var hr = fill_zero_prefix(Math.floor(second / 3600));
  // 分钟位
  var min = fill_zero_prefix(Math.floor((second - hr * 3600) / 60));
  // 秒位
  var sec = fill_zero_prefix((second - hr * 3600 - min * 60));// equal to => var sec = second % 60;
  // 毫秒位，保留2位
  // var micro_sec = fill_zero_prefix(Math.floor((micro_second % 1000) / 10));
  // 毫秒位，保留1位
  var micro_sec = Math.floor((micro_second % 1000) / 100);

  setTimeout[0] = day
  setTimeout[1] = hr
  setTimeout[2] = min
  setTimeout[3] = sec
  setTimeout[4] = micro_sec
  return setTimeout //hr + ":" + min + ":" + sec + " " + micro_sec;
}

// 位数不足补零
function fill_zero_prefix(num) {
  return num < 10 ? "0" + num : num
}


function getQueryVariable(url){
  //返回当前 URL 的查询部分（问号 ? 之后的部分）。
  var urlParameters = url;// location.search;
  //声明并初始化接收请求参数的对象
  var requestParameters = new Object();
  var parameterArray = [];
  //如果该求青中有请求的参数，则获取请求的参数，否则打印提示此请求没有请求的参数
  if (urlParameters.indexOf('?') != -1){
      //获取请求参数的字符串
      var parameters = decodeURI(urlParameters.substr(1));
      //将请求的参数以&分割中字符串数组
      parameterArray = parameters.split('&');
      //循环遍历，将请求的参数封装到请求参数的对象之中
      for (var i = 0; i < parameterArray.length; i++) {
          requestParameters[parameterArray[i].split('=')[0]] = (parameterArray[i].split('=')[1]);
      }
      console.info('theRequest is =====',requestParameters);
  } else{
      console.info('There is no request parameters');
  }
  return requestParameters;
}


function getDiffDay(date_1, date_2) {
  // 计算两个日期之间的差值
  let totalDays,diffDate
  let myDate_1 = Date.parse(date_1)
  let myDate_2 = Date.parse(date_2)
  // 将两个日期都转换为毫秒格式，然后做差
  diffDate = Math.abs(myDate_1 - myDate_2) // 取相差毫秒数的绝对值
 
  totalDays = Math.floor(diffDate / (1000 * 3600 * 24)) // 向下取整
  // console.log(totalDays)   
  return totalDays;    // 相差的天数
}

module.exports = {
  formatTime: formatTime,
  formatTimeSimple: formatTimeSimple,
  formatTimeTwo: formatTimeTwo,
  formatNumber: formatNumber,
  getNewDay: getNewDay,
  richText: richText,
  preImg:preImg,
  date_format: date_format,
  getQueryVariable:getQueryVariable,
  getDiffDay:getDiffDay
}
